/**
 * CollegeMediator.java
 * 10/05/2011 22:37:41
 */
package model.mediator;

import model.memento.Movement;

/**
 * @author walber
 */
public interface HubColleague {
	/**
	 * Movimiento que implica empujar a las demas piezas del nivel. Ej: Man
	 * mueve Box y Box se mueve si es posible.
	 * 
	 * @param move
	 */
	public void requestMultiMovement(Movement move);

	/**
	 * Movimiento que no implica empujar a nadie. Ej: Box empuja a Box pero es
	 * imposible.
	 * 
	 * @param move
	 */
	public void requestSingleMovement(Movement move);

	/**
	 * El movimiento realizado no es posible.
	 * 
	 * @param move
	 */
	public void refuseMovement(Movement move);

	/**
	 * Pieza movible (Man o Box) ha dejado posicion libre.
	 * 
	 * @param col
	 * @param row
	 */
	public void leavePosition(int col, int row);
}
